The present invention relates generally to modifying and translating information received from a remote source, and more particularly to modifying and translating executable code and data received from a web site.
The World Wide Web (WWW), or “the Web”, is now the premier outlet to publish information of all types and forms. Documents published on the web, commonly called Web pages, are typically published using a markup language such as HTML (or Hyper Text Markup Language), which sets standards for the formatting of documents. Additionally, These standards make it possible for people to read and understand documents no matter which program they use for that purpose. Often included in an HTML formatted web page are software code segments attached as part of the page. Examples of such software include JavaScript, Java and ActiveX commands. If a user's browser is enabled to process the software code, the code will typically be processed to provide additional windows, e.g., pop-up windows, forms and other content for presentation to the user.
Typically, a user accesses pages on the Web through a web portal. One common portal is Yahoo located at URL: http://www.yahoo.com/. When a user selects a reference such as a URL presented on a page provided by the portal, the users browser will access another page associated with the URL at a remote site. From then on, the user will be connected to the remote server unless the browser is instructed to return to the portal (e.g., via a “back” button or a “home” button displayed on the browser). In the commerce context, for example, a user may access a remote commerce site and conduct transactions, e.g., to purchase a product. In this case, the portal is completely unaware of any transactions or information exchange between the user and the remote site.
It is therefore desirable for a web portal to provide a page from a remote site, such as a remote commerce site, via a special proxy server to a user and to keep the user connected to the proxy so that information exchange between the user and remote server can be monitored by the proxy. However, it may be necessary to modify HTML formatting, HTML links and JavaScript code associated with a page provided by a remote site so that information exchange activity is directed to the proxy. For example, it is desirable to translate a link directed to a particular site into a link directed to the proxy so that the proxy handles access to the desired page from the particular site.
Accordingly, it is desirable to provide a configurable system to parse and translate downloadable software and/or content without additional development efforts from the original software and content provider. Additionally, it is desirable to provide an adaptive system to serve a corresponding software morphing agent to handle the original software and content.